JavaScript 中的类 | 您所在的位置:网站首页 › javascript mdn教程 › JavaScript 中的类 |
对于上文给出的 Person 类,我们声明一个它的子类 Professor。 js class Professor extends Person { teaches; constructor(name, teaches) { super(name); this.teaches = teaches; } introduceSelf() { console.log( `My name is ${this.name}, and I will be your ${this.teaches} professor.`, ); } grade(paper) { const grade = Math.floor(Math.random() * (5 - 1) + 1); console.log(grade); } }我们使用 extends 关键字来声明这个类继承自另一个类。 我们为 Professor 类添加了一个新的属性 teaches,就像声明的那样。 因为我们想在创建新的 Professor 时设置 teaches,我们需要声明一个需要 name 和 teaches 参数的构造函数。构造函数中需要做的第一件事是使用 super() 调用父类的构造函数,并传递 name 参数。父类的构造函数会设置 name 属性。然后 Professor 的构造函数接着设置 teaches 属性。 备注: 如果子类有任何自己的初始化内容需要完成,它也必须先使用 super() 来调用父类的构造函数,并传递父类构造函数期望的任何参数。 我们还覆盖了父类的 introduceSelf() 方法,并添加了一个新的方法 grade(),来为论文打分(我们的教授不是很好,只是随意地为论文打分)。 有了这个声明,我们现在可以创建和使用 professor 实例了: js const walsh = new Professor("Walsh", "Psychology"); walsh.introduceSelf(); // 'My name is Walsh, and I will be your Psychology professor' walsh.grade("my paper"); // some random grade |
CopyRight 2018-2019 实验室设备网 版权所有 |